Primero incorporamos las librerias necesarias para poder ejecutar el presente notebook.
# Librerias
#install.packages('gganimate')
#install.packages("heatmaply")
#install.packages('gifski')
#install.packages('png')
#install.packages('units')
#install.packages('sf')
#install.packages('transformr')
require(tidyverse)
require(geosphere)
#<<<<<<< Updated upstream
require(rvest)
require(gganimate)
require(lubridate)
require(heatmaply)
require(transformr)
require(gifski)
require(png)
require(ggplot2)
#=======
require(rvest) # Cargamos el paquete
require(lubridate)
#>>>>>>> Stashed changes
Posteriormente importamos los datos que queremos analizar y los formateamos.
# Llamamos a los DataSets
datos_2021 = read.csv('../TP_LaboDeDatos/Data/sna_abril_2021_fixed_encoding.csv', encoding = 'UTF-8', sep = ',')
# Concateno todos los datos
datos2= read_csv2('../TP_LaboDeDatos/Data/202109-informe-ministerio.csv')
datos2$Fecha_completa = strptime(paste(datos2$Fecha, datos2$`Hora UTC`), format = "%d/%m/%Y %H:%M:%S")
En esa celda importamos los datos de los aeropuertos.
# Utilizamos la tabla que se encuentra en 'https://en.wikipedia.org/wiki/List_of_airports_in_Argentina'
# para acceder a las variables de ciudad, provincia y coordenadas de cada aeropuerto
aeropuertos_wiki = read_html('https://en.wikipedia.org/wiki/List_of_airports_in_Argentina')
elemento_tabla = html_element(aeropuertos_wiki,'.wikitable')
aeropuertos = html_table(elemento_tabla)
Particularmente, necesitamos un procesamiento especial para obtener las coordenadas de cada aeropuerto en un formato que nos sea util.
# Corrijo la columna de coordenadas
separar = strsplit((aeropuertos$Coordinates), '/') # Divide a los strings en los lugares donde haya '/'
coordenadas = sapply(separar, function(x) x[3]) # Me quedo solo con el 3er tipo de coordenada
coordenadas = gsub('[^0-9,.,-]','', coordenadas) # Elimino los caracteres que no quiero utilizar
aeropuertos = aeropuertos %>%
mutate(lat = as.numeric(substr(coordenadas, 1, 9)), long = as.numeric(substr(coordenadas, 10, 18))) # Separo a mano latitud y longitud (revizar si esta todo en orden)
aeropuertos = filter(aeropuertos, nchar(ICAO)>1)
aeropuertos = aeropuertos[order(aeropuertos$ICAO),]
En la siguiente celda lo que hacemos es a cada vuelo le agregamos los datos relativos a sus aeropuertos de origen y destino (si los tenemos). Además, calculamos con ellos la distancia recorrida por el vuelo.
for(i in 1:length(aeropuertos$ICAO)){
inds = datos2$Aeropuerto==aeropuertos$IATA[i]
datos2[inds,c('ciudad_origen','provincia_origen','lat_origen','long_origen')] = aeropuertos[i,c("City served","Province","lat","long")]
inds = datos2$`Origen / Destino`==aeropuertos$IATA[i]
datos2[inds,c('ciudad_destino','provincia_destino','lat_destino','long_destino')] = aeropuertos[i,c("City served","Province","lat","long")]
}
for(i in 1:length(datos_2021$ana)){
inds = datos2$Aeropuerto==datos_2021$ana[i]
datos2[inds,c('ciudad_origen','provincia_origen','lat_origen','long_origen')] = datos_2021[i,c("nam","cpr","x","y")]
inds = datos2$`Origen / Destino`==datos_2021$ana[i]
datos2[inds,c('ciudad_destino','provincia_destino','lat_destino','long_destino')] = datos_2021[i,c("nam","cpr","x","y")]
inds = datos2$Aeropuerto==datos_2021$iko[i]
datos2[inds,c('ciudad_destino','provincia_destino','lat_destino','long_destino')] = datos_2021[i,c("nam","cpr","x","y")]
inds = datos2$`Origen / Destino`==datos_2021$iko[i]
datos2[inds,c('ciudad_destino','provincia_destino','lat_destino','long_destino')] = datos_2021[i,c("nam","cpr","x","y")]
}
datos2 = drop_na(datos2)
datos2$distancia = distHaversine(datos2[,c("long_origen","lat_origen")],datos2[,c("long_destino","lat_destino")])/1000
datos2 = datos2 %>%
filter(`Aerolinea Nombre` != 0)
Dividimos los eventos del dataset de vuelos en aterrizajes y despegues.
datos2$fecha_hora = strptime(paste(datos2$Fecha, datos2$`Hora UTC`), format = "%d/%m/%Y %H:%M:%S")
despegues = datos2[datos2$`Tipo de Movimiento` == 'Despegue',]
aterrizajes = datos2[datos2$`Tipo de Movimiento` == 'Aterrizaje',]
Ahora tratamos de unir los aterrizajes y despegues con el objetivo de poder identificar todo el recorrido de un vuelo. (particularmente la hora de salida y de llegada, que son los datos que no nos dan directamente en el dataset)
# dividimos en despegues y aterrizajes
matched = left_join(despegues, aterrizajes, by= c("Aeropuerto" = "Origen / Destino", "Origen / Destino" = "Aeropuerto", "Aerolinea Nombre" = "Aerolinea Nombre", "Aeronave" = "Aeronave")) %>%
mutate(tdif = as.numeric(fecha_hora.y - fecha_hora.x, units='hours')) %>%
group_by(Aeropuerto, fecha_hora.x, Aeronave, `Aerolinea Nombre`) %>%
filter(tdif > 0) %>%
filter(tdif < 5) %>%
filter(tdif == min(tdif))
matched = matched %>%
mutate(vel_media = distancia.y/tdif)
Las primeras preguntas que nos hemos planteado son relativas al grado de concentración que tienen los vuelos.
Por esto, la primera pregunta que nos interesa responder es ver cuales aeropuertos se conectan más y cuales menos. Además, notando que los casos donde el vuelo despega y aterriza en el mismo lugar son muy posiblemente vuelos de entrenamiento.
aers = unique(datos2$Aeropuerto)
mat = matrix(nrow = length(aers), ncol = length(aers))
colnames(mat) = aers
row.names(mat) = aers
for(i in 1:length(aers)){
for(j in 1:length(aers)){
mat[i,j] = sum((datos2$Aeropuerto==aers[i]) & (datos2$`Origen / Destino`==aers[j]))
}
}
heatmaply(mat, Rowv = NA, Colv = NA, col_dend_up=FALSE)%>%
layout(xaxis = list(side = "top"))
Resalta el aeropuerto FDO como un importante centro de entrenamiento. Por otro lado, se observa como la conexión más fuerte es claramente entre Aeroparque y Bariloche.
La siguiente pregunta será relativa a la concentración entre distintas aerolineas.
aerolineas = unique(matched$`Aerolinea Nombre`)
apps = matrix(nrow = 1, ncol = length(aerolineas))
colnames(apps) = aerolineas
for(ar in aerolineas){
apps[1,ar] = sum((matched$`Aerolinea Nombre`==ar))
}
apps = apps[1,order(apps, decreasing=T)]
barplot(apps, las = 2, cex.names=0.4)
En este segundo grafico solo mostramos las más importantes para que sea entendible la información, además de que tiene una función más sintetica que el anterior.
x = 8
apps2 = apps[1:x]
apps2[x+1] = sum(apps[x:length(apps)])
names(apps2)[x+1] = "OTRAS"
names(apps2) = paste(names(apps2),apps2)
pie(apps2, col=rainbow(length(apps2)), cex=0.5)
Las siguientes preguntas que nos hemos planteado feron las relativas a cuando los aviones estaban volando y cuando no.
La primera fue decir exactamente en qué horas del año estuvieron más y menos aviones en el aire. Para eso primero hay que agregar una hora universal a los vuelos
inicio = as.Date("2021-01-01")
matched$despegueUniversal = as.integer(-difftime(inicio,matched$Fecha_completa.x, units="hours"))
matched$llegadaUniversal = as.integer(-difftime(inicio,matched$Fecha_completa.y, units="hours")+0.9999)
fin = max(matched$llegadaUniversal)+1
histo = matrix(nrow=1,ncol=fin)
histo[,c(1:fin)] = 0
for(i in 1:length(matched$despegueUniversal)){
inds = matched$despegueUniversal[i]:matched$llegadaUniversal[i]
histo[1,inds] = histo[1,inds]+1
#print(histo[1,inds])
#for(j in matched$despegueUniversal[i]:matched$llegadaUniversal[i]){
# histo[1,j] = histo[1,j]+1
#}
}
#plot(1:length(histo[1,]),histo[1,], type="s")
barplot(histo[1,], names.arg=(inicio + 1:fin/24), las = 2 , cex.names=0.4)
Ahora cual es el horario en el que los pasajeros viajan mas
require(gganimate)
install.packages('gganimate')
Error in install.packages : Updating loaded packages
horario_vuelo = datos2 %>%
filter(datos2$Pasajeros > 0) %>%
group_by(horario = hour(`Hora UTC`)) %>%
summarise(pasajeros = mean(Pasajeros))
table(horario_vuelo$horario)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
plot = horario_vuelo %>%
ggplot(aes(x = horario, y = pasajeros, color = pasajeros)) + geom_line() +
geom_point() +
transition_reveal(horario)+labs(title = 'Cantidad promedio de pasajeros a lo largo del dia', x = 'Hora', y = 'Cantidad promedio de pasajeros')+ shadow_mark()+ scale_x_continuous(breaks = round(seq(min(horario_vuelo$horario), max(horario_vuelo$horario), by = 1),1))
animate(plot, renderer = gifski_renderer(loop = FALSE))
Rendering [>---------------------------------------------------------------------------] at 4.9 fps ~ eta: 20s
Rendering [=>--------------------------------------------------------------------------] at 6.1 fps ~ eta: 16s
Rendering [=>--------------------------------------------------------------------------] at 6.6 fps ~ eta: 15s
Rendering [==>-------------------------------------------------------------------------] at 6.8 fps ~ eta: 14s
Rendering [===>------------------------------------------------------------------------] at 6.8 fps ~ eta: 14s
Rendering [====>-------------------------------------------------------------------------] at 7 fps ~ eta: 13s
Rendering [====>-----------------------------------------------------------------------] at 7.2 fps ~ eta: 13s
Rendering [=====>----------------------------------------------------------------------] at 7.3 fps ~ eta: 13s
Rendering [======>---------------------------------------------------------------------] at 7.4 fps ~ eta: 12s
Rendering [=======>--------------------------------------------------------------------] at 7.4 fps ~ eta: 12s
Rendering [=======>--------------------------------------------------------------------] at 7.5 fps ~ eta: 12s
Rendering [========>-------------------------------------------------------------------] at 7.5 fps ~ eta: 12s
Rendering [=========>------------------------------------------------------------------] at 7.6 fps ~ eta: 12s
Rendering [==========>-----------------------------------------------------------------] at 7.6 fps ~ eta: 11s
Rendering [===========>----------------------------------------------------------------] at 7.6 fps ~ eta: 11s
Rendering [============>---------------------------------------------------------------] at 7.6 fps ~ eta: 11s
Rendering [=============>--------------------------------------------------------------] at 7.5 fps ~ eta: 11s
Rendering [==============>-------------------------------------------------------------] at 7.5 fps ~ eta: 11s
Rendering [===============>------------------------------------------------------------] at 7.5 fps ~ eta: 11s
Rendering [================>-----------------------------------------------------------] at 7.5 fps ~ eta: 10s
Rendering [=================>----------------------------------------------------------] at 7.5 fps ~ eta: 10s
Rendering [==================>---------------------------------------------------------] at 7.5 fps ~ eta: 10s
Rendering [===================>--------------------------------------------------------] at 7.5 fps ~ eta: 10s
Rendering [====================>-------------------------------------------------------] at 7.5 fps ~ eta: 10s
Rendering [=====================>------------------------------------------------------] at 7.4 fps ~ eta: 10s
Rendering [======================>-----------------------------------------------------] at 7.4 fps ~ eta: 9s
Rendering [=======================>----------------------------------------------------] at 7.4 fps ~ eta: 9s
Rendering [========================>---------------------------------------------------] at 7.4 fps ~ eta: 9s
Rendering [=========================>--------------------------------------------------] at 7.3 fps ~ eta: 9s
Rendering [==========================>-------------------------------------------------] at 7.3 fps ~ eta: 9s
Rendering [===========================>------------------------------------------------] at 7.3 fps ~ eta: 9s
Rendering [============================>-----------------------------------------------] at 7.3 fps ~ eta: 8s
Rendering [=============================>----------------------------------------------] at 7.3 fps ~ eta: 8s
Rendering [==============================>---------------------------------------------] at 7.2 fps ~ eta: 8s
Rendering [===============================>--------------------------------------------] at 7.2 fps ~ eta: 8s
Rendering [================================>-------------------------------------------] at 7.2 fps ~ eta: 8s
Rendering [=================================>------------------------------------------] at 7.2 fps ~ eta: 8s
Rendering [==================================>-----------------------------------------] at 7.2 fps ~ eta: 8s
Rendering [===================================>----------------------------------------] at 7.1 fps ~ eta: 7s
Rendering [====================================>---------------------------------------] at 7.1 fps ~ eta: 7s
Rendering [=====================================>--------------------------------------] at 7.1 fps ~ eta: 7s
Rendering [======================================>-------------------------------------] at 7.1 fps ~ eta: 7s
Rendering [========================================>-------------------------------------] at 7 fps ~ eta: 7s
Rendering [=========================================>------------------------------------] at 7 fps ~ eta: 7s
Rendering [==========================================>-----------------------------------] at 7 fps ~ eta: 6s
Rendering [===========================================>----------------------------------] at 7 fps ~ eta: 6s
Rendering [==========================================>---------------------------------] at 6.9 fps ~ eta: 6s
Rendering [===========================================>--------------------------------] at 6.9 fps ~ eta: 6s
Rendering [============================================>-------------------------------] at 6.9 fps ~ eta: 6s
Rendering [=============================================>------------------------------] at 6.8 fps ~ eta: 6s
Rendering [==============================================>-----------------------------] at 6.8 fps ~ eta: 6s
Rendering [===============================================>----------------------------] at 6.8 fps ~ eta: 5s
Rendering [================================================>---------------------------] at 6.8 fps ~ eta: 5s
Rendering [=================================================>--------------------------] at 6.8 fps ~ eta: 5s
Rendering [==================================================>-------------------------] at 6.7 fps ~ eta: 5s
Rendering [===================================================>------------------------] at 6.7 fps ~ eta: 5s
Rendering [====================================================>-----------------------] at 6.7 fps ~ eta: 4s
Rendering [=====================================================>----------------------] at 6.7 fps ~ eta: 4s
Rendering [======================================================>---------------------] at 6.6 fps ~ eta: 4s
Rendering [=======================================================>--------------------] at 6.6 fps ~ eta: 4s
Rendering [========================================================>-------------------] at 6.6 fps ~ eta: 4s
Rendering [=========================================================>------------------] at 6.6 fps ~ eta: 4s
Rendering [==========================================================>-----------------] at 6.6 fps ~ eta: 4s
Rendering [==========================================================>-----------------] at 6.5 fps ~ eta: 3s
Rendering [===========================================================>----------------] at 6.5 fps ~ eta: 3s
Rendering [============================================================>---------------] at 6.5 fps ~ eta: 3s
Rendering [=============================================================>--------------] at 6.5 fps ~ eta: 3s
Rendering [==============================================================>-------------] at 6.5 fps ~ eta: 3s
Rendering [===============================================================>------------] at 6.4 fps ~ eta: 2s
Rendering [================================================================>-----------] at 6.4 fps ~ eta: 2s
Rendering [=================================================================>----------] at 6.4 fps ~ eta: 2s
Rendering [==================================================================>---------] at 6.4 fps ~ eta: 2s
Rendering [===================================================================>--------] at 6.4 fps ~ eta: 2s
Rendering [===================================================================>--------] at 6.3 fps ~ eta: 2s
Rendering [====================================================================>-------] at 6.3 fps ~ eta: 1s
Rendering [=====================================================================>------] at 6.3 fps ~ eta: 1s
Rendering [======================================================================>-----] at 6.3 fps ~ eta: 1s
Rendering [=======================================================================>----] at 6.3 fps ~ eta: 1s
Rendering [========================================================================>---] at 6.2 fps ~ eta: 1s
Rendering [=========================================================================>--] at 6.2 fps ~ eta: 0s
Rendering [==========================================================================>-] at 6.2 fps ~ eta: 0s
Rendering [============================================================================] at 6.2 fps ~ eta: 0s
Inserting image 1 at 0.00s (1%)...
Inserting image 2 at 0.10s (2%)...
Inserting image 3 at 0.20s (3%)...
Inserting image 4 at 0.30s (4%)...
Inserting image 5 at 0.40s (5%)...
Inserting image 6 at 0.50s (6%)...
Inserting image 7 at 0.60s (7%)...
Inserting image 8 at 0.70s (8%)...
Inserting image 9 at 0.80s (9%)...
Inserting image 10 at 0.90s (10%)...
Inserting image 11 at 1.00s (11%)...
Inserting image 12 at 1.10s (12%)...
Inserting image 13 at 1.20s (13%)...
Inserting image 14 at 1.30s (14%)...
Inserting image 15 at 1.40s (15%)...
Inserting image 16 at 1.50s (16%)...
Inserting image 17 at 1.60s (17%)...
Inserting image 18 at 1.70s (18%)...
Inserting image 19 at 1.80s (19%)...
Inserting image 20 at 1.90s (20%)...
Inserting image 21 at 2.00s (21%)...
Inserting image 22 at 2.10s (22%)...
Inserting image 23 at 2.20s (23%)...
Inserting image 24 at 2.30s (24%)...
Inserting image 25 at 2.40s (25%)...
Inserting image 26 at 2.50s (26%)...
Inserting image 27 at 2.60s (27%)...
Inserting image 28 at 2.70s (28%)...
Inserting image 29 at 2.80s (29%)...
Inserting image 30 at 2.90s (30%)...
Inserting image 31 at 3.00s (31%)...
Inserting image 32 at 3.10s (32%)...
Inserting image 33 at 3.20s (33%)...
Inserting image 34 at 3.30s (34%)...
Inserting image 35 at 3.40s (35%)...
Inserting image 36 at 3.50s (36%)...
Inserting image 37 at 3.60s (37%)...
Inserting image 38 at 3.70s (38%)...
Inserting image 39 at 3.80s (39%)...
Inserting image 40 at 3.90s (40%)...
Inserting image 41 at 4.00s (41%)...
Inserting image 42 at 4.10s (42%)...
Inserting image 43 at 4.20s (43%)...
Inserting image 44 at 4.30s (44%)...
Inserting image 45 at 4.40s (45%)...
Inserting image 46 at 4.50s (46%)...
Inserting image 47 at 4.60s (47%)...
Inserting image 48 at 4.70s (48%)...
Inserting image 49 at 4.80s (49%)...
Inserting image 50 at 4.90s (50%)...
Inserting image 51 at 5.00s (51%)...
Inserting image 52 at 5.10s (52%)...
Inserting image 53 at 5.20s (53%)...
Inserting image 54 at 5.30s (54%)...
Inserting image 55 at 5.40s (55%)...
Inserting image 56 at 5.50s (56%)...
Inserting image 57 at 5.60s (57%)...
Inserting image 58 at 5.70s (58%)...
Inserting image 59 at 5.80s (59%)...
Inserting image 60 at 5.90s (60%)...
Inserting image 61 at 6.00s (61%)...
Inserting image 62 at 6.10s (62%)...
Inserting image 63 at 6.20s (63%)...
Inserting image 64 at 6.30s (64%)...
Inserting image 65 at 6.40s (65%)...
Inserting image 66 at 6.50s (66%)...
Inserting image 67 at 6.60s (67%)...
Inserting image 68 at 6.70s (68%)...
Inserting image 69 at 6.80s (69%)...
Inserting image 70 at 6.90s (70%)...
Inserting image 71 at 7.00s (71%)...
Inserting image 72 at 7.10s (72%)...
Inserting image 73 at 7.20s (73%)...
Inserting image 74 at 7.30s (74%)...
Inserting image 75 at 7.40s (75%)...
Inserting image 76 at 7.50s (76%)...
Inserting image 77 at 7.60s (77%)...
Inserting image 78 at 7.70s (78%)...
Inserting image 79 at 7.80s (79%)...
Inserting image 80 at 7.90s (80%)...
Inserting image 81 at 8.00s (81%)...
Inserting image 82 at 8.10s (82%)...
Inserting image 83 at 8.20s (83%)...
Inserting image 84 at 8.30s (84%)...
Inserting image 85 at 8.40s (85%)...
Inserting image 86 at 8.50s (86%)...
Inserting image 87 at 8.60s (87%)...
Inserting image 88 at 8.70s (88%)...
Inserting image 89 at 8.80s (89%)...
Inserting image 90 at 8.90s (90%)...
Inserting image 91 at 9.00s (91%)...
Inserting image 92 at 9.10s (92%)...
Inserting image 93 at 9.20s (93%)...
Inserting image 94 at 9.30s (94%)...
Inserting image 95 at 9.40s (95%)...
Inserting image 96 at 9.50s (96%)...
Inserting image 97 at 9.60s (97%)...
Inserting image 98 at 9.70s (98%)...
Inserting image 99 at 9.80s (99%)...
Inserting image 100 at 9.90s (100%)...
Encoding to gif... done!
plot = horario_vuelo %>%
ggplot(aes(x = horario, y = pasajeros, fill = pasajeros)) + geom_bar(stat='identity')+transition_states(horario,100,5)+shadow_mark()+labs(title = 'Cantidad promedio de pasajeros a lo largo del dia', x = 'Hora', y = 'Cantidad promedio de pasajeros')+ scale_x_continuous(breaks = round(seq(min(horario_vuelo$horario), max(horario_vuelo$horario), by = 1),1))
animate(plot, renderer = gifski_renderer(loop = T))
Rendering [=>--------------------------------------------------------------------------] at 8.7 fps ~ eta: 11s
Rendering [==>-------------------------------------------------------------------------] at 8.3 fps ~ eta: 12s
Rendering [===>------------------------------------------------------------------------] at 8.2 fps ~ eta: 12s
Rendering [====>-----------------------------------------------------------------------] at 8.1 fps ~ eta: 12s
Rendering [=====>----------------------------------------------------------------------] at 8.1 fps ~ eta: 11s
Rendering [======>---------------------------------------------------------------------] at 8.1 fps ~ eta: 11s
Rendering [=======>--------------------------------------------------------------------] at 7.9 fps ~ eta: 11s
Rendering [========>---------------------------------------------------------------------] at 8 fps ~ eta: 11s
Rendering [=========>--------------------------------------------------------------------] at 8 fps ~ eta: 11s
Rendering [==========>-------------------------------------------------------------------] at 8 fps ~ eta: 11s
Rendering [===========>------------------------------------------------------------------] at 8 fps ~ eta: 11s
Rendering [============>-----------------------------------------------------------------] at 8 fps ~ eta: 10s
Rendering [=============>----------------------------------------------------------------] at 8 fps ~ eta: 10s
Rendering [==============>---------------------------------------------------------------] at 8 fps ~ eta: 10s
Rendering [===============>--------------------------------------------------------------] at 8 fps ~ eta: 10s
Rendering [===============>------------------------------------------------------------] at 7.9 fps ~ eta: 10s
Rendering [================>-----------------------------------------------------------] at 7.9 fps ~ eta: 10s
Rendering [=================>----------------------------------------------------------] at 7.9 fps ~ eta: 10s
Rendering [===================>----------------------------------------------------------] at 8 fps ~ eta: 9s
Rendering [====================>---------------------------------------------------------] at 8 fps ~ eta: 9s
Rendering [=====================>--------------------------------------------------------] at 8 fps ~ eta: 9s
Rendering [======================>-------------------------------------------------------] at 8 fps ~ eta: 9s
Rendering [=======================>------------------------------------------------------] at 8 fps ~ eta: 9s
Rendering [========================>-----------------------------------------------------] at 8 fps ~ eta: 9s
Rendering [=========================>----------------------------------------------------] at 8 fps ~ eta: 8s
Rendering [==========================>---------------------------------------------------] at 8 fps ~ eta: 8s
Rendering [===========================>--------------------------------------------------] at 8 fps ~ eta: 8s
Rendering [============================>-------------------------------------------------] at 8 fps ~ eta: 8s
Rendering [=============================>------------------------------------------------] at 8 fps ~ eta: 8s
Rendering [==============================>-----------------------------------------------] at 8 fps ~ eta: 7s
Rendering [===============================>----------------------------------------------] at 8 fps ~ eta: 7s
Rendering [================================>---------------------------------------------] at 8 fps ~ eta: 7s
Rendering [=================================>--------------------------------------------] at 8 fps ~ eta: 7s
Rendering [==================================>-------------------------------------------] at 8 fps ~ eta: 7s
Rendering [===================================>------------------------------------------] at 8 fps ~ eta: 7s
Rendering [====================================>-----------------------------------------] at 8 fps ~ eta: 7s
Rendering [====================================>-----------------------------------------] at 8 fps ~ eta: 6s
Rendering [=====================================>----------------------------------------] at 8 fps ~ eta: 6s
Rendering [======================================>---------------------------------------] at 8 fps ~ eta: 6s
Rendering [=======================================>--------------------------------------] at 8 fps ~ eta: 6s
Rendering [========================================>-------------------------------------] at 8 fps ~ eta: 6s
Rendering [=======================================>------------------------------------] at 8.1 fps ~ eta: 6s
Rendering [=========================================>------------------------------------] at 8 fps ~ eta: 6s
Rendering [==========================================>-----------------------------------] at 8 fps ~ eta: 6s
Rendering [===========================================>----------------------------------] at 8 fps ~ eta: 6s
Rendering [===========================================>----------------------------------] at 8 fps ~ eta: 5s
Rendering [============================================>---------------------------------] at 8 fps ~ eta: 5s
Rendering [=============================================>--------------------------------] at 8 fps ~ eta: 5s
Rendering [=============================================>------------------------------] at 7.7 fps ~ eta: 5s
Rendering [==============================================>-----------------------------] at 7.7 fps ~ eta: 5s
Rendering [===============================================>----------------------------] at 7.8 fps ~ eta: 5s
Rendering [================================================>---------------------------] at 7.8 fps ~ eta: 5s
Rendering [=================================================>--------------------------] at 7.8 fps ~ eta: 4s
Rendering [==================================================>-------------------------] at 7.8 fps ~ eta: 4s
Rendering [===================================================>------------------------] at 7.8 fps ~ eta: 4s
Rendering [====================================================>-----------------------] at 7.8 fps ~ eta: 4s
Rendering [=====================================================>----------------------] at 7.8 fps ~ eta: 4s
Rendering [======================================================>---------------------] at 7.8 fps ~ eta: 4s
Rendering [======================================================>---------------------] at 7.8 fps ~ eta: 3s
Rendering [=======================================================>--------------------] at 7.8 fps ~ eta: 3s
Rendering [========================================================>-------------------] at 7.8 fps ~ eta: 3s
Rendering [=========================================================>------------------] at 7.8 fps ~ eta: 3s
Rendering [==========================================================>-----------------] at 7.8 fps ~ eta: 3s
Rendering [===========================================================>----------------] at 7.8 fps ~ eta: 3s
Rendering [============================================================>---------------] at 7.8 fps ~ eta: 3s
Rendering [=============================================================>--------------] at 7.8 fps ~ eta: 2s
Rendering [==============================================================>-------------] at 7.8 fps ~ eta: 2s
Rendering [===============================================================>------------] at 7.8 fps ~ eta: 2s
Rendering [================================================================>-----------] at 7.8 fps ~ eta: 2s
Rendering [=================================================================>----------] at 7.8 fps ~ eta: 2s
Rendering [==================================================================>---------] at 7.8 fps ~ eta: 2s
Rendering [===================================================================>--------] at 7.8 fps ~ eta: 1s
Rendering [===================================================================>--------] at 7.9 fps ~ eta: 1s
Rendering [====================================================================>-------] at 7.9 fps ~ eta: 1s
Rendering [=====================================================================>------] at 7.9 fps ~ eta: 1s
Rendering [======================================================================>-----] at 7.9 fps ~ eta: 1s
Rendering [=======================================================================>----] at 7.8 fps ~ eta: 1s
Rendering [========================================================================>---] at 7.8 fps ~ eta: 1s
Rendering [=========================================================================>--] at 7.8 fps ~ eta: 0s
Rendering [==========================================================================>-] at 7.8 fps ~ eta: 0s
Rendering [============================================================================] at 7.8 fps ~ eta: 0s
Inserting image 1 at 0.00s (1%)...
Inserting image 2 at 0.10s (2%)...
Inserting image 3 at 0.20s (3%)...
Inserting image 4 at 0.30s (4%)...
Inserting image 5 at 0.40s (5%)...
Inserting image 6 at 0.50s (6%)...
Inserting image 7 at 0.60s (7%)...
Inserting image 8 at 0.70s (8%)...
Inserting image 9 at 0.80s (9%)...
Inserting image 10 at 0.90s (10%)...
Inserting image 11 at 1.00s (11%)...
Inserting image 12 at 1.10s (12%)...
Inserting image 13 at 1.20s (13%)...
Inserting image 14 at 1.30s (14%)...
Inserting image 15 at 1.40s (15%)...
Inserting image 16 at 1.50s (16%)...
Inserting image 17 at 1.60s (17%)...
Inserting image 18 at 1.70s (18%)...
Inserting image 19 at 1.80s (19%)...
Inserting image 20 at 1.90s (20%)...
Inserting image 21 at 2.00s (21%)...
Inserting image 22 at 2.10s (22%)...
Inserting image 23 at 2.20s (23%)...
Inserting image 24 at 2.30s (24%)...
Inserting image 25 at 2.40s (25%)...
Inserting image 26 at 2.50s (26%)...
Inserting image 27 at 2.60s (27%)...
Inserting image 28 at 2.70s (28%)...
Inserting image 29 at 2.80s (29%)...
Inserting image 30 at 2.90s (30%)...
Inserting image 31 at 3.00s (31%)...
Inserting image 32 at 3.10s (32%)...
Inserting image 33 at 3.20s (33%)...
Inserting image 34 at 3.30s (34%)...
Inserting image 35 at 3.40s (35%)...
Inserting image 36 at 3.50s (36%)...
Inserting image 37 at 3.60s (37%)...
Inserting image 38 at 3.70s (38%)...
Inserting image 39 at 3.80s (39%)...
Inserting image 40 at 3.90s (40%)...
Inserting image 41 at 4.00s (41%)...
Inserting image 42 at 4.10s (42%)...
Inserting image 43 at 4.20s (43%)...
Inserting image 44 at 4.30s (44%)...
Inserting image 45 at 4.40s (45%)...
Inserting image 46 at 4.50s (46%)...
Inserting image 47 at 4.60s (47%)...
Inserting image 48 at 4.70s (48%)...
Inserting image 49 at 4.80s (49%)...
Inserting image 50 at 4.90s (50%)...
Inserting image 51 at 5.00s (51%)...
Inserting image 52 at 5.10s (52%)...
Inserting image 53 at 5.20s (53%)...
Inserting image 54 at 5.30s (54%)...
Inserting image 55 at 5.40s (55%)...
Inserting image 56 at 5.50s (56%)...
Inserting image 57 at 5.60s (57%)...
Inserting image 58 at 5.70s (58%)...
Inserting image 59 at 5.80s (59%)...
Inserting image 60 at 5.90s (60%)...
Inserting image 61 at 6.00s (61%)...
Inserting image 62 at 6.10s (62%)...
Inserting image 63 at 6.20s (63%)...
Inserting image 64 at 6.30s (64%)...
Inserting image 65 at 6.40s (65%)...
Inserting image 66 at 6.50s (66%)...
Inserting image 67 at 6.60s (67%)...
Inserting image 68 at 6.70s (68%)...
Inserting image 69 at 6.80s (69%)...
Inserting image 70 at 6.90s (70%)...
Inserting image 71 at 7.00s (71%)...
Inserting image 72 at 7.10s (72%)...
Inserting image 73 at 7.20s (73%)...
Inserting image 74 at 7.30s (74%)...
Inserting image 75 at 7.40s (75%)...
Inserting image 76 at 7.50s (76%)...
Inserting image 77 at 7.60s (77%)...
Inserting image 78 at 7.70s (78%)...
Inserting image 79 at 7.80s (79%)...
Inserting image 80 at 7.90s (80%)...
Inserting image 81 at 8.00s (81%)...
Inserting image 82 at 8.10s (82%)...
Inserting image 83 at 8.20s (83%)...
Inserting image 84 at 8.30s (84%)...
Inserting image 85 at 8.40s (85%)...
Inserting image 86 at 8.50s (86%)...
Inserting image 87 at 8.60s (87%)...
Inserting image 88 at 8.70s (88%)...
Inserting image 89 at 8.80s (89%)...
Inserting image 90 at 8.90s (90%)...
Inserting image 91 at 9.00s (91%)...
Inserting image 92 at 9.10s (92%)...
Inserting image 93 at 9.20s (93%)...
Inserting image 94 at 9.30s (94%)...
Inserting image 95 at 9.40s (95%)...
Inserting image 96 at 9.50s (96%)...
Inserting image 97 at 9.60s (97%)...
Inserting image 98 at 9.70s (98%)...
Inserting image 99 at 9.80s (99%)...
Inserting image 100 at 9.90s (100%)...
Encoding to gif... done!